package com.samehope.ar.service;

import com.samehope.ar.dto.*;
import com.samehope.ar.entity.PatrolTaskPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import com.samehope.ar.vo.PaginationDataVO;
import com.samehope.ar.vo.PatrolTaskPlanDetailVO;
import com.samehope.ar.vo.PatrolTaskPlanWeekDetailVO;
import java.util.List;

/**
 * <p>
 * 巡检计划任务 服务类
 * </p>
 *
 * @author Zhang Luo
 * @since 2019-12-23
 */
public interface IPatrolTaskPlanService extends IService<PatrolTaskPlan> {

    PaginationDataVO<PatrolTaskPlanDetailVO> findByParam(PaginationParam paginationParam, PatrolTaskPlanQueryParam param);

    void add(PatrolTaskPlanAddParam param);

    void update(PatrolTaskPlanUpdateParam param);

    void del(Long planId);

    PatrolTaskPlanDetailVO detail(Long planId);

    /**
     * 查找下周需要生成的计划任务
     * @return
     */
    List<PatrolTaskPlanWeekDetailVO> findByEffect();

    /**
     * 查找当事人的计划任务
     * @param userId
     * @return
     */
    List<PatrolTaskPlan> findTaskPlanByUser(Long userId);
}
